import com.byte1.www.TestDemo;

import java.util.Arrays;
import java.util.Date;
import static java.lang.Math.*;

//import java.util.*;
//*表示通配符
//import + 路径

class Student{

    //private 就是将该成员变量或成员方法使用private进行修饰
    //该成员变量或者成员方法，只能在当前类中使用，不能在当前类外使用
    //private 对外隐藏类内部的实现细节


    //普通成员变量
    private String name;
    private int age;
    private String stuNum;

    //静态成员变量
    public static String classNum;//班级

    //封装：不能在类外直接去使用变量，但是可以通过其他方法去用该变量

    public void show(){
        System.out.println(this.name+" "+this.age+" "+this.stuNum+" "+classNum);
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getStuNum() {
        return stuNum;
    }

    public void setStuNum(String stuNum) {
        this.stuNum = stuNum;
    }

    //    public  void setName(String name){
//        this.name=name;
//    }
//
//    public String getName(){
//        return this.name;
//    }
//
//    public void setAge(int age){
//        this.age=age;
//    }
//
//    public int getAge(){
//        return this.age;
//    }
//
//    public void setStuNum(String stuNum){
//        this.stuNum=stuNum;
//    }
//
//    public String getStuNum(){
//        return this.stuNum;
//    }
    public Student(){
        this("hhh",46,"888");
        System.out.println("不带参数的构造方法");
    }

    public Student(String name, int age, String stuNum) {
        this.name = name;
        this.age = age;
        this.stuNum = stuNum;
        System.out.println("调用了带有三个参数的构造方法");
    }

    //成员方法
    public void eat(){
        System.out.println(this.name+"在吃饭");
    }

    public void doClass(){
        System.out.println(this.name+"正在上课");
    }
}

public class test {

    public static void main(String[] args) {
        Student stu1=new Student("zhansgan",12,"456");
        Student stu2=new Student("lisi",17,"789");
        Student.classNum="1班";
        stu1.show();
        stu2.show();
//        System.out.println(stu1);
//        System.out.println(stu2);
    }

    public static void main5(String[] args) {
        TestDemo testDemo=new TestDemo();
        testDemo.test();
//        System.out.println(testDemo.a);
    }

    public static void main4(String[] args) {
        double x=30;
        double y=40;
        double result=Math.sqrt(Math.pow(x,2)+Math.pow(y,2));
        double result1=sqrt(pow(x,2)+pow(y,2));
        System.out.println(result);
        System.out.println(result1);
    }

    public static void main3(String[] args) {
        int[] arr={1,2,3,4,5};
        System.out.println(Arrays.toString(arr));//方法一：导入包
        System.out.println(java.util.Arrays.toString(arr));//方法二：不导包

        Date date=new Date();
        java.sql.Date date1=new java.sql.Date(20);
    }
    public static void main2(String[] args) {
//        Student stu1=new Student();//调用不带参数的构造方法
//        Student stu2=new Student("张三",12,"21212");//调用了带有参数的构造方法、

        Student stu1=new Student();
        stu1.setName("zhangsan");
        System.out.println(stu1.getName());
        stu1.setAge(16);
        System.out.println(stu1.getAge());
        stu1.setStuNum("121");
        System.out.println(stu1.getStuNum());

    }

//    public static void main1(String[] args) {
//
//        //对象的实例化（描述对象的过程）
//        Student stu1=new Student();
//        stu1.name="张三";
//        stu1.age=20;
//        stu1.stuNum="11111";
//        System.out.println(stu1.name+" "+stu1.age+" "+stu1.stuNum);
//        stu1.eat();
//        stu1.doClass();
//        System.out.println("==============");
//        Student stu2=new Student();
//
//        stu2.name="李四";
//        stu2.age=20;
//        stu2.stuNum="11111";
//        System.out.println(stu2.name+" "+stu2.age+" "+stu2.stuNum);
//        stu2.eat();
//        stu2.doClass();
//    }
}
